﻿/**
 * Author(s): xuming.Wong <xuming.Wong@gmail.com>
 */
using System;
using System.Runtime.CompilerServices;

namespace Gk3dEngine
{
    public class InternalCall
    {
        [MethodImplAttribute(MethodImplOptions.InternalCall)]
        internal extern static int createGameObject();

        [MethodImplAttribute(MethodImplOptions.InternalCall)]
        internal extern static void OnCreateGameObject(int id);

        [MethodImplAttribute(MethodImplOptions.InternalCall)]
        internal extern static int createTransformComponent();

        [MethodImplAttribute(MethodImplOptions.InternalCall)]
        internal extern static void OnCreateTransformComponent(int id);


        [MethodImplAttribute(MethodImplOptions.InternalCall)]
        internal extern static void setPosition(int id, float x, float y, float z);

        [MethodImplAttribute(MethodImplOptions.InternalCall)]
        internal extern static void setOrientation(int id, float w, float x, float y, float z);

        [MethodImplAttribute(MethodImplOptions.InternalCall)]
        internal extern static void setScale(int id, float x, float y, float z);

    }
}
